package test00.tx02;

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class MainTest {
    public static void main(String[] args) throws Exception {
        int sum = SumUtil.sum(1000);

        // 第一：定义操作类的 Class 对象
        Class<SumUtil> class1 = SumUtil.class;
        // 第二：基于Class对象实现相关的操作
        Method method = class1.getDeclaredMethod("sum",int.class);

//        Max annotation = method.getAnnotation(Max.class);
        Parameter[] parameters = method.getParameters();

        Parameter first = parameters[0];

        if (first.isAnnotationPresent(Max.class)){
            int max = first.getAnnotation(Max.class).value();

            if (max > sum){
                throw new RuntimeException("最大值不能超过"+max);
            }
        }

        System.out.println(sum);
    }
}
